home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / SNNSV32.ZIP / SNNSv3.2 / kernel / sources / kr_ui.ph < prev    next >
Text File  |  1994-04-25  |  10KB  |  262 lines

  1. /*****************************************************************************
  2.   FILE           : kr_ui.ph
  3.   SHORTNAME      : kr_ui.ph
  4.   SNNS VERSION   : 3.2
  5.  
  6.   PURPOSE        : SNNS-Kernel User Interface Function Prototypes
  7.   NOTES          :
  8.  
  9.   AUTHOR         : Niels Mache
  10.   DATE           : 27.02.90
  11.  
  12.   CHANGED BY     : Michael Vogt, Guenter Mamier
  13.   IDENTIFICATION : @(#)kr_ui.ph    1.17 4/12/94
  14.   SCCS VERSION   : 1.17
  15.   LAST CHANGE    : 4/12/94
  16.  
  17.              Copyright (c) 1990-1994  SNNS Group, IPVR, Univ. Stuttgart, FRG
  18.  
  19. ******************************************************************************/
  20. #ifndef _KR_UI_DEFINED_
  21. #define  _KR_UI_DEFINED_
  22.  
  23. /* begin global definition section */
  24.  
  25.  
  26. #include "krui_typ.h"    /*  Interface function prototypes  */
  27.  
  28. /*
  29. #ifdef __MSDOS__
  30.  
  31. #ifndef  int
  32. #define  int long
  33. #endif
  34.  
  35. #endif
  36. */
  37. int  krui_getNoOfUnits(void);
  38. int  krui_getFirstUnit(void);
  39. int  krui_getNextUnit(void);
  40. int  krui_getCurrentUnit(void);
  41. krui_err  krui_setCurrentUnit(int unit_no);
  42. char  *krui_getUnitName(int UnitNo);
  43. krui_err  krui_setUnitName(int unit_no, char *unit_name);
  44. int  krui_searchUnitName(char *unit_name);
  45. int  krui_searchNextUnitName(void);
  46. char  *krui_getUnitOutFuncName(int UnitNo);
  47. krui_err  krui_setUnitOutFunc(int unit_no, char *unitOutFuncName);
  48. char  *krui_getUnitActFuncName(int UnitNo);
  49. krui_err  krui_setUnitActFunc(int unit_no, char *unitActFuncName);
  50. char  *krui_getUnitFTypeName(int UnitNo);
  51. FlintType  krui_getUnitActivation(int UnitNo);
  52. krui_err  krui_setUnitActivation(int UnitNo, FlintTypeParam unit_activation);
  53. FlintType  krui_getUnitInitialActivation(int UnitNo);
  54. void  krui_setUnitInitialActivation(int UnitNo, FlintTypeParam unit_i_activation);
  55. FlintType  krui_getUnitOutput(int UnitNo);
  56. krui_err  krui_setUnitOutput(int unit_no, FlintTypeParam unit_output);
  57. FlintType  krui_getUnitBias(int UnitNo);
  58. void  krui_setUnitBias(int UnitNo, FlintTypeParam unit_bias);
  59. FlintType  krui_getUnitValueA(int UnitNo);
  60. void  krui_setUnitValueA(int UnitNo, FlintTypeParam unit_valueA);
  61. int  krui_getUnitSubnetNo(int UnitNo);
  62. void  krui_setUnitSubnetNo(int UnitNo, int subnet_no);
  63. unsigned short    krui_getUnitLayerNo(int UnitNo);
  64. void    krui_setUnitLayerNo(int UnitNo, int layer_no);
  65. void    krui_getUnitPosition(int UnitNo, struct PosType *position);
  66. void    krui_setUnitPosition(int UnitNo, struct PosType *position);
  67. int   krui_getUnitNoAtPosition(struct PosType *position, int subnet_no);
  68. int  krui_getUnitNoNearPosition(struct PosType *position, int subnet_no, int range, int gridWidth);
  69. int  krui_getUnitTType(int unit_no);
  70. krui_err  krui_setUnitTType(int unit_no, int UnitTType);
  71. krui_err  krui_freezeUnit(int unit_no);
  72. krui_err  krui_unfreezeUnit(int unit_no);
  73. bool  krui_isUnitFrozen(int unit_no);
  74. int  krui_getUnitInputType(int unit_no);
  75. int  krui_createDefaultUnit(void);
  76. int  krui_createUnit(char *unit_name, char *out_func_name, char *act_func_name, FlintTypeParam i_act, FlintTypeParam bias);
  77. krui_err  krui_deleteUnit(int unit_no);
  78. krui_err  krui_deleteUnitList(int no_of_units, int unit_list[]);
  79. int  krui_createFTypeUnit(char *Ftype_symbol);
  80. krui_err  krui_setUnitFType(int unit_no, char *Ftype_symbol);
  81. int   krui_copyUnit(int unit_no, int copy_mode);
  82. bool  krui_setFirstFTypeEntry(void);
  83. bool  krui_setNextFTypeEntry(void);
  84. bool  krui_setFTypeEntry(char *Ftype_symbol);
  85. char  *krui_getFTypeName(void);
  86. krui_err  krui_setFTypeName(char *Ftype_symbol);
  87. char  *krui_getFTypeActFuncName(void);
  88. krui_err  krui_setFTypeActFunc(char *act_func_name);
  89. krui_err   krui_setFTypeOutFunc(char *out_func_name);
  90. bool  krui_setFirstFTypeSite(void);
  91. bool  krui_setNextFTypeSite(void);
  92. char  *krui_getFTypeSiteName(void);
  93. krui_err  krui_setFTypeSiteName(char *FType_site_name);
  94. krui_err  krui_createFTypeEntry(char *Ftype_symbol, char *act_func_name, char *out_func_name, int no_of_sites, char **array_of_site_names);
  95. krui_err    krui_deleteFTypeEntry(char *Ftype_symbol);
  96. int  krui_getNoOfFunctions(void);
  97. void  krui_getFuncInfo(int func_no, char **func_name, int *func_type);
  98. bool  krui_isFunction(char *func_name, int func_type);
  99. bool  krui_getFuncParamInfo(char *func_name, int func_type, int *no_of_input_params, int *no_of_output_params);
  100. bool   krui_getFirstSiteTableEntry(char **site_name, char **site_func);
  101. bool  krui_getNextSiteTableEntry(char **site_name, char **site_func);
  102. char  *krui_getSiteTableFuncName(char *site_name);
  103. krui_err  krui_createSiteTableEntry(char *site_name, char *site_func);
  104. krui_err  krui_changeSiteTableEntry(char *old_site_name, char *new_site_name, char *new_site_func);
  105. krui_err  krui_deleteSiteTableEntry(char *site_name);
  106. bool  krui_setFirstSite(void);
  107. bool  krui_setNextSite(void);
  108. krui_err  krui_setSite(char *site_name);
  109. FlintType   krui_getSiteValue(void);
  110. char  *krui_getSiteName(void);
  111. krui_err  krui_setSiteName(char *site_name);
  112. char  *krui_getSiteFuncName(void);
  113. krui_err  krui_addSite(char *site_name);
  114. bool  krui_deleteSite(void);
  115. int  krui_getFirstPredUnit(FlintType *strength);
  116. int  krui_getNextPredUnit(FlintType *strength);
  117. int  krui_getCurrentPredUnit(FlintType *strength);
  118. int  krui_getFirstSuccUnit(int source_unit_no, FlintType *weight);
  119. int  krui_getNextSuccUnit(FlintType *weight);
  120. bool  krui_areConnected(int source_unit_no, int target_unit_no, FlintType *weight);
  121. bool  krui_isConnected(int source_unit_no);
  122. FlintType  krui_getLinkWeight(void);
  123. void  krui_setLinkWeight(FlintTypeParam weight);
  124. krui_err  krui_createLink(int source_unit_no, FlintTypeParam weight);
  125. krui_err  krui_deleteLink(void);
  126. krui_err  krui_deleteAllInputLinks(void);
  127. krui_err  krui_deleteAllOutputLinks(void);
  128.  
  129. void  krui_jogWeights(FlintTypeParam minus, FlintTypeParam plus);
  130. krui_err   krui_updateSingleUnit(int unit_no);
  131. char  *krui_getUpdateFunc(void);
  132. krui_err   krui_setUpdateFunc(char *update_func);
  133. krui_err  krui_updateNet(float *parameterInArray, int NoOfInParams);
  134. char  *krui_getInitialisationFunc(void);
  135. krui_err   krui_setInitialisationFunc(char *initialisation_func);
  136. krui_err  krui_initializeNet(float *parameterInArray, int NoOfInParams);
  137.  
  138. char  *krui_getLearnFunc(void);
  139. krui_err   krui_setLearnFunc(char *learning_func);
  140. krui_err   krui_learnAllPatterns(float *parameterInArray, int NoOfInParams, float **parameterOutArray, int *NoOfOutParams);
  141. krui_err   krui_learnSinglePattern(int pattern_no, float *parameterInArray, int NoOfInParams, float **parameterOutArray, int *NoOfOutParams);
  142.  
  143. krui_err  krui_showPattern(int mode);
  144. krui_err  krui_allocNewPatternSet(int *set_no);
  145. krui_err  krui_newPattern(void);
  146. krui_err  krui_setPatternNo(int pattern_no);
  147. krui_err  krui_deletePattern(void);
  148. krui_err  krui_modifyPattern(void);
  149. void  krui_deleteAllPatterns(void);
  150. krui_err  krui_shufflePatterns(bool on_or_off);
  151. krui_err  krui_shuffleSubPatterns(bool on_or_off);
  152. int  krui_getNoOfPatterns(void);
  153.  
  154. krui_err  krui_loadNewPatterns(char *filename, int *number);
  155. krui_err  krui_setCurrPatSet(int number);
  156. krui_err  krui_saveNewPatterns(char *filename, int number);
  157. krui_err  krui_deletePatSet(int number);
  158. krui_err  krui_GetPatInfo(pattern_set_info *set_info, 
  159.               pattern_descriptor *pat_info);
  160. krui_err  krui_DefShowSubPat(int *insize, int *outsize, 
  161.                  int *inpos, int *outpos);
  162. krui_err  krui_DefTrainSubPat(int *insize, int *outsize,
  163.                   int *instep, int *outstep, int *max_n_pos);
  164. krui_err  krui_AlignSubPat(int *inpos, int *outpos, int *no);
  165. krui_err  krui_GetShapeOfSubPattern(int *insize, int *outsize, 
  166.                     int *inpos, int *outpos, int n_pos);
  167.  
  168. krui_err  krui_saveNet(char *filename, char *netname);
  169. krui_err  krui_loadNet(char *filename, char **netname);
  170. krui_err  krui_saveResult(char *filename, bool create, int startpattern, int endpattern, bool includeinput, bool includeoutput);
  171. krui_err  krui_allocateUnits(int no_of_units);
  172. void  krui_deleteNet(void);
  173. bool  krui_getFirstSymbolTableEntry(char **symbol_name, int *symbol_type);
  174. bool  krui_getNextSymbolTableEntry(char **symbol_name, int *symbol_type);
  175. bool  krui_symbolSearch(char *symbol, int symbol_type);
  176. char  *krui_getVersion(void);
  177. void  krui_getNetInfo(int *no_of_sites, int *no_of_links, int *no_of_STable_entries, int *no_of_FTable_entries);
  178. void  krui_getMemoryManagerInfo(int *unit_bytes, int *site_bytes, int *link_bytes, int *NTable_bytes, int *STable_bytes, int *FTable_bytes);
  179. void  krui_getUnitDefaults(FlintType *act, FlintType *bias, int *st, int *subnet_no, int *layer_no, char **act_func, char **out_func);
  180. krui_err  krui_setUnitDefaults(FlintTypeParam act, FlintTypeParam bias, int st, int subnet_no, int layer_no, char *act_func, char *out_func);
  181. void  krui_resetNet(void);
  182. void  krui_setSeedNo(long int seed);
  183. int  krui_getNoOfInputUnits(void);
  184. int  krui_getNoOfOutputUnits(void);
  185. int  krui_getNoOfTTypeUnits(int UnitTType);
  186.  
  187. #ifdef KERNEL3D
  188.  
  189. krui_err  kr_xyTransTable(int op, int *x, int *y, int z);
  190. krui_err  krui_getUnitCenters(int unit_no, int center_no, struct PositionVector **unit_center);
  191. krui_err  krui_setUnitCenters(int unit_no, int center_no, struct PositionVector *unit_center);
  192.  
  193. #endif
  194.  
  195. char  *krui_error(int error_code);
  196.  
  197. #ifdef MASPAR_KERNEL
  198.  
  199. krui_err  krui_MasPar( mode );
  200. krui_err  krui_getMasParStatus(void);
  201. krui_err  krui_MasParBenchmark( func_type, cycles, result );
  202.  
  203. #endif
  204.  
  205. krui_err  krui_setSpecialNetworkType(int net_type);
  206. int  krui_getSpecialNetworkType(void);
  207.  
  208.  
  209. /*
  210. #ifdef __MSDOS__
  211.  
  212. #ifndef  KR_TYPES
  213. #undef  int
  214. #endif
  215.  
  216. #endif
  217. */
  218.  
  219.  
  220. /* end global definition section */
  221.  
  222. /* begin private definition section */
  223.  
  224. static char  *krui_topo_err_msg(void);
  225.  
  226. /*#################################################
  227.  
  228. GROUP: Local Var's
  229.  
  230. #################################################*/
  231.  
  232. static int  UICurrentNameSearchUnitNo = 0;
  233. static struct Site  *UICurrentFtypeSite = NULL;
  234. static struct FtypeUnitStruct  *UICurrentFtypeEntry = NULL;
  235. static char  *UICurrentNameSearchUnitSymbolPtr = NULL;
  236.  
  237. /*#################################################
  238.  
  239. GROUP: Macros
  240.  
  241. #################################################*/
  242.  
  243. /*  Check operation for compatibility with MasPar parallel 
  244.     network implementation
  245. */
  246. #ifdef MASPAR_KERNEL
  247.  
  248. #define  MASPAR_FF1_VALIDATE_OP \
  249. if (specialNetworkType == NET_TYPE_FF1)\
  250.   { KernelErrorCode = KRERR_MODE_FF1_INVALID_OP;\
  251.     return( KRERR_MODE_FF1_INVALID_OP ); }\
  252.  
  253. #endif
  254.  
  255.  
  256.  
  257.  
  258. /* end private definition section */
  259.  
  260.  
  261. #endif 
  262.